home *** CD-ROM | disk | FTP | other *** search
/ Shareware Games Galore! / Shareware Games Galore!.iso / arcade / gameser5 / gallery.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1982-09-15  |  2.9 KB  |  139 lines

  1. 10  DEFINT A-Z
  2. 20  DIM TARNAM$(12)
  3. 30  DEF FNRAND(N)=FIX((RND*(N-1))+1)
  4. 40  KEY OFF
  5. 50  FOR I=1 TO 12
  6. 60  READ TARNAM$(I)
  7. 70  NEXT I
  8. 80  DATA "JEFF ","ASIS ","RAJU ","MIKE ","TERRY","JANET","FRANK","NANCY"
  9. 90  DATA "MARK ","TOM  ","DICK ","HARRY"
  10. 100  PLAY "MFO4"
  11. 110  CLS
  12. 120  R1 = 0 : R2 = 0
  13. 130  ITMCTR = 0 : GCNT = 2
  14. 140  GOSUB 1360
  15. 150  RANDOMIZE SECONDS
  16. 160  DELTA = (RND*7200)
  17. 170  GOSUB 1360
  18. 180  RANDOMIZE SECONDS
  19. 190  GUN = 0 ' GUN = FALSE
  20. 200  GROW = 22
  21. 210  GCOL = 59
  22. 220  TROW = 1
  23. 230  TCOL = 0
  24. 240  NOSHOT = 0
  25. 250  NOHIT = 0
  26. 260  NOTAR = 0
  27. 270  SCORE = 0
  28. 280  INPUT "WHAT IS YOUR SKILL LEVEL"; DIFLEV
  29. 290  IF (DIFLEV<1) OR (DIFLEV>10) THEN PRINT "?Skill level is between 1 and 10":GOTO 280
  30. 300  HWIN = 11 - DIFLEV
  31. 310  GOSUB 590 ' CALL SCREEN(DIFLEV)
  32. 320  ITMCTR = ITMCTR + 1
  33. 330  IF ITMCTR>10000 THEN ITMCTR=0
  34. 340  IF TCOL>=1 THEN 390
  35. 350  GOSUB 760 ' CALL NEWTAR(TARNAM,TARARR,TROW,R1,R2)
  36. 360  TCNT = 3 * RND + 1
  37. 370  NOTAR = NOTAR + 1
  38. 380  TCOL = 1
  39. 390  IF ((ITMCTR/TCNT)*TCNT)=ITMCTR THEN 430
  40. 400  FOR I=1 TO 15 : JK=JK+1
  41. 410  NEXT
  42. 420  GOTO 450
  43. 430  GOSUB 800 ' CALL TGTPRT(TROW,TCOL,TARARR)
  44. 440  TCOL = TCOL + 1
  45. 450  GOSUB 860 ' CALL SHOOT(GUN,GCOL)
  46. 460  IF ((ITMCTR/GCNT)*GCNT)=ITMCTR THEN GOSUB 1010 ` CALL GUNPRT(GROW,GCOL,GUN
  47. 470  GOSUB 1100 ` CALL HIT(GROW,ETC...)
  48. 480  IF GROW>0 THEN 320
  49. 490  GUN = 0 ' .FALSE.
  50. 500  GROW = 22
  51. 510  NOSHOT = NOSHOT + 1
  52. 520  GOSUB 1320 ' CALL PRTTST(NOSHOT,NOHIT,SCORE)
  53. 530  IF NOSHOT<10 THEN 320
  54. 540  LOCATE 24,1,0 : PRINT " GAME OVER...DO YOU WANT TO PLAY AGAIN ('Y'|'N')";
  55. 550  INPUT R$
  56. 560  IF LEFT$(R$,1) = "Y" THEN 190
  57. 570  IF R$="" THEN 190
  58. 580  END
  59. 590  CLS
  60. 600  INIT = 0
  61. 610  LOCATE 24,1,1
  62. 620  PRINT TAB(8);"TYPE 5 TO FIRE GUN"
  63. 630  PRINT TAB(13);"4 TO MOVE GUN LEFT"
  64. 640  PRINT TAB(13);"6 TO MOVE GUN RIGHT"
  65. 650  PRINT
  66. 660  PRINT TAB(7);"YOUR SKILL LEVEL IS ";DIFLEV
  67. 670  PRINT
  68. 680  PRINT TAB(10);"SHOTS FIRED  0"
  69. 690  PRINT TAB(10);"NO. OF HITS  0"
  70. 700  PRINT
  71. 710  PRINT TAB(12);"SCORE   0"
  72. 720  PRINT
  73. 730  PRINT TAB(60);"U"
  74. 740  PRINT
  75. 750  RETURN
  76. 760  J = FNRAND(12)
  77. 770  TARARR$ = TARNAM$(J)
  78. 780  TROW = FNRAND(10)
  79. 790  RETURN
  80. 800  LOCATE TROW,TCOL,0
  81. 810  PRINT " ";
  82. 820  IF TCOL <= 70 THEN PRINT TARARR$ : RETURN
  83. 830  PRINT SPC(5)
  84. 840  TCOL = -1
  85. 850  RETURN
  86. 860  KBRD$=INKEY$
  87. 870  IF KBRD$="" THEN RETURN
  88. 880  STRING = ASC(KBRD$)
  89. 890  IF STRING=53 THEN GUN = -1
  90. 900  IF GUN THEN RETURN
  91. 910  I=0
  92. 920  IF STRING=52 THEN I=-1
  93. 930  IF STRING=54 THEN I=+1
  94. 940  IF I=0 THEN RETURN
  95. 950  GCOL = GCOL + I
  96. 960  IF GCOL<44 THEN GCOL = 44
  97. 970  IF GCOL>74 THEN GCOL=74
  98. 980  TEMP=GCOL-1
  99. 990  LOCATE GROW,GCOL : PRINT " U "
  100. 1000  RETURN
  101. 1010  IF NOT GUN THEN RETURN
  102. 1020  OLDROW = GROW
  103. 1030  GROW = GROW - 1
  104. 1040  LOCATE OLDROW,GCOL
  105. 1050  IF OLDROW<>22 THEN PRINT SPC(2)
  106. 1060  IF GROW <= 0 THEN RETURN
  107. 1070  LOCATE GROW,GCOL
  108. 1080  PRINT " ^"
  109. 1090  RETURN
  110. 1100  IF GROW<>TROW THEN RETURN
  111. 1110  IF (TCOL+3-HWIN/2-GCOL)>0 THEN RETURN
  112. 1120  IF (TCOL+2+(HWIN+1)/2-GCOL)<0 THEN RETURN
  113. 1130  ' ---
  114. 1140  '    FOUND A HIT
  115. 1150  ' ---
  116. 1160  NOHIT = NOHIT + 1
  117. 1170  NEWTCOL = TCOL - 5
  118. 1180  FOR J = 1 TO 2
  119. 1190  LOCATE TROW,NEWTCOL,0:BEEP:PRINT "      HIT      "
  120. 1200  FOR I=1 TO 42
  121. 1210  KP=KP+1
  122. 1220  NEXT I
  123. 1230  LOCATE TROW,NEWTCOL,0:BEEP:PRINT "               "
  124. 1240  FOR I=1 TO 42
  125. 1250  KP=KP-1
  126. 1260  NEXT I
  127. 1270  NEXT J
  128. 1280  TCOL = 0
  129. 1290  GROW = 0
  130. 1300  SCORE = SCORE+200*NOHIT/(NOSHOT+1)+150*DIFLEV/TCNT
  131. 1310  RETURN
  132. 1320  LOCATE 17,23 : PRINT NOSHOT
  133. 1330  LOCATE 18,23 : PRINT NOHIT
  134. 1340  LOCATE 20,20 : PRINT SCORE
  135. 1350  RETURN
  136. 1360  MIN = VAL(MID$(TIME$,4,2))
  137. 1370  SECONDS = (VAL(RIGHT$(TIME$,2))*MIN)-DELTA
  138. 1380  RETURN
  139.